Skip to main content

Objet : Interface

Symbole: _cds_icon_interface.png

Mot-clé: INTERFACE

Une interface est un moyen de programmation orientée objet. L'object ITF décrit un ensemble de prototypes de méthodes et de propriétés. Dans ce contexte, prototype signifie que le méthodes et Propriétés ne contiennent que des déclarations et aucune implémentation.

Cela permet d'utiliser de la même manière différents blocs fonctionnels ayant des propriétés communes. Une FIT l'objet est ajouté à l'application ou au projet en cliquant sur Projet → Ajouter un objet → Interface

Pour plus d'informations, consultez : Implémenter une interface

Tableau 58. Ajout d'une interface

Héritage

Nom

Nom de l'interface

Avancée

standard icon: Étend l'interface que vous sélectionnez dans le champ de saisie ou via l'assistant de saisie _cds_icon_three_dots.png. Cela signifie que toutes les méthodes de l'interface qui étendent la nouvelle interface sont également disponibles dans la nouvelle interface.

Pour plus d'informations, consultez : Étendre une interface



Astuce

L'héritage multiple est pris en charge pour les interfaces.

Vous pouvez ajouter le Propriété d'interface et Méthode d'interface objets à la FIT objet. Les méthodes d'interface peuvent contenir uniquement les déclarations des variables d'entrée, de sortie et VAR_IN_OUT, mais pas d'implémentation.

Afin que vous puissiez également utiliser une interface dans le programme, il doit y avoir un bloc fonctionnel qui implémente cette interface.

Ça signifie:

  • Le bloc fonction contient l'interface dans sa liste IMPLEMENTS dans sa partie déclaration

  • Le bloc fonction contient une implémentation pour toutes les méthodes et les prototypes de propriété de l'interface

Un bloc fonction peut implémenter une ou plusieurs interfaces. Vous pouvez utiliser la même méthode avec des paramètres identiques, mais un code d'implémentation différent dans différents blocs fonctionnels.

. Notez ce qui suit :
  • Vous ne devez pas définir de variables dans une interface. Une interface n'a pas de partie d'implémentation et pas d'actions. Seule une collection de méthodes est définie, dans laquelle vous ne pouvez définir que des variables d'entrée, de sortie et VAR_IN_OUT.

  • CODESYS traite toujours les variables déclarées avec le type d'une interface comme des références.

  • Un bloc fonctionnel qui implémente une interface doit contenir le code d'implémentation des méthodes de l'interface. Vous avez nommé les méthodes exactement comme dans l'interface et les méthodes contiennent les mêmes variables d'entrée, de sortie et VAR_IN_OUT que dans l'interface.

Références d'interface et modification en ligne

Ce qui suit peut se produire avec une version du compilateur < 3.4.1.0 :

Si un bloc fonction modifie ses données parce que des variables sont ajoutées ou supprimées, ou parce que le type de variables change, alors CODESYS copie toutes les instances du bloc fonctionnel dans un nouvel emplacement mémoire. Dans ce cas, cependant, une référence d'interface ne fait pas référence au nouvel emplacement de mémoire, mais toujours à l'ancien.

En cas de versions de compilateur >= 3.4.1.0, CODESYS réadresse automatiquement les références d'interface afin que CODESYS fait également référence à l'interface correcte en cas de modification en ligne. CODESYS nécessite du code supplémentaire et plus de temps pour cela, de sorte que des problèmes de gigue peuvent survenir en fonction du nombre d'objets concernés. Donc, CODESYS affiche le nombre de variables et de références d'interface concernées avant l'exécution de la modification en ligne et vous pouvez alors décider si la modification en ligne doit être exécutée ou abandonnée.

Exemple 516. Exemple

Définition d'une interface et son utilisation dans un bloc fonction

Vous avez inséré l'interface FIT sous l'application. L'interface contient les méthodes Méthode1 et Méthode2. FIT, Méthode1 et Méthode2 ne contiennent aucun code d'implémentation. Vous insérez les déclarations de variables requises uniquement dans la partie déclaration des méthodes.

Si vous insérez ultérieurement dans l'arborescence des appareils un bloc fonctionnel qui implémente l'interface FIT, CODESYS insère également automatiquement les méthodes Méthode1 et Méthode2 sous le bloc de fonction. Ici, vous pouvez implémenter du code spécifique au bloc fonctionnel dans les méthodes.

_cds_img_itf_method.png